﻿using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace AMAP.Areas.Client.Models.Account
{
    public class ClientAccountCreateViewModel
    {
        #region User Informations
        [Required]
        [Email(ErrorMessage = "Veuillez entrer une adresse mail au bon format : xte@exemple.com")]
        [DataType(DataType.EmailAddress)]
        [Display(Name = "E-mail", Prompt = "Adresse e-mail")]
        [MaxLength(100, ErrorMessage = "Le nombre de caractère doit être inférieur à 100")]
        [Remote("IsEmailAvailable", "Authentication", "Public", ErrorMessage = "Cette adresse e-mail est déjà utilisée")]
        public string Email { get; set; }

        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Mot de passe", Prompt = "Mot de passe")]
        [MinLength(6, ErrorMessage = "Le mot de passe doit être supérieur à 6 caractère")]
        [MaxLength(20, ErrorMessage = "Le nombre de caractère doit être inférieur à 6 caractère")]
        public string Password { get; set; }

        [Compare("Password", ErrorMessage = "Les mots de passe doivent correspondre")]
        [DataType(DataType.Password)]
        [Display(Name = "Confirmation du mot de passe", Prompt = "Confirmation")]
        public string PasswordConfirmation { get; set; }

        [Required]
        [Display(Name = "Nom", Prompt = "Nom de famille")]
        [MaxLength(50, ErrorMessage = "Le nombre de caractère doit être inférieur à 50")]
        public string LastName { get; set; }

        [Required]
        [Display(Name = "Prénom", Prompt = "Votre prénom")]
        [MaxLength(50, ErrorMessage = "Le nombre de caractère doit être inférieur à 50")]
        public string FirstName { get; set; }
        #endregion

        #region Client Informations
        [Required]
        [Display(Name = "Lieu de livraison")]
        public int PlaceId { get; set; }

        public SelectList PlaceList { get; set; }
        #endregion

        /*
        #region Client Address
        public string Address1 { get; set; }
        public string Address2 { get; set; }
        public string PostalCode { get; set; }
        public string City { get; set; }
        public string PhoneNumber { get; set; }
        #endregion
        */

        public bool Discover { get; set; }
    }
}